{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## If you are running container on machine with GPU "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "!pip install --no-cache-dir http://download.pytorch.org/whl/cu80/torch-0.1.12.post2-cp27-none-linux_x86_64.whl"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Otherwise install CPU version"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting torch==0.1.12.post2 from http://download.pytorch.org/whl/cu75/torch-0.1.12.post2-cp27-none-linux_x86_64.whl\n",
      "  Downloading http://download.pytorch.org/whl/cu75/torch-0.1.12.post2-cp27-none-linux_x86_64.whl (348.8MB)\n",
      "\u001b[K    100% |################################| 348.8MB 7.0MB/s ta 0:00:011B/s eta 0:00:03###### | 342.8MB 7.5MB/s eta 0:00:01\n",
      "\u001b[?25hRequirement already satisfied: pyyaml in /usr/local/lib/python2.7/dist-packages (from torch==0.1.12.post2)\n",
      "Installing collected packages: torch\n",
      "Successfully installed torch-0.1.12.post2\n"
     ]
    }
   ],
   "source": [
    "! pip install --no-cache-dir http://download.pytorch.org/whl/cu75/torch-0.1.12.post2-cp27-none-linux_x86_64.whl"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Install torchvision & download CRNN model ( for both CPU & GPU)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "--2017-09-11 18:47:24--  https://www.dropbox.com/s/l0vo83hmvv2aipn/crnn.pth\n",
      "Resolving www.dropbox.com (www.dropbox.com)... 162.125.4.1, 2620:100:6019:1:ffff:ffff:a27d:401\n",
      "Connecting to www.dropbox.com (www.dropbox.com)|162.125.4.1|:443... connected.\n",
      "HTTP request sent, awaiting response... 302 Found\n",
      "Location: https://dl.dropboxusercontent.com/content_link/JrwhKey6uMi0Pmg30MD44jo19h5iHRW3tYSJwREFz7wz9froZvOWNMGnamddduHa/file [following]\n",
      "--2017-09-11 18:47:25--  https://dl.dropboxusercontent.com/content_link/JrwhKey6uMi0Pmg30MD44jo19h5iHRW3tYSJwREFz7wz9froZvOWNMGnamddduHa/file\n",
      "Resolving dl.dropboxusercontent.com (dl.dropboxusercontent.com)... 162.125.4.6, 2620:100:6019:6:ffff:ffff:a27d:406\n",
      "Connecting to dl.dropboxusercontent.com (dl.dropboxusercontent.com)|162.125.4.6|:443... connected.\n",
      "HTTP request sent, awaiting response... 200 OK\n",
      "Length: 33351680 (32M) [text/plain]\n",
      "Saving to: 'crnn.pth'\n",
      "\n",
      "100%[======================================>] 33,351,680  13.6MB/s   in 2.3s   \n",
      "\n",
      "2017-09-11 18:47:29 (13.6 MB/s) - 'crnn.pth' saved [33351680/33351680]\n",
      "\n"
     ]
    }
   ],
   "source": [
    "!pip install --upgrade torchvision\n",
    "!wget https://www.dropbox.com/s/l0vo83hmvv2aipn/crnn.pth"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import sys\n",
    "sys.path.append('../../')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "loading pretrained model from crnn.pth\n"
     ]
    }
   ],
   "source": [
    "import dvalib.crnn.utils as utils \n",
    "import dvalib.crnn.dataset as dataset\n",
    "import torch\n",
    "from torch.autograd import Variable\n",
    "from PIL import Image\n",
    "import dvalib.crnn.models.crnn as crnn\n",
    "import glob\n",
    "from IPython.core import display\n",
    "\n",
    "\n",
    "model_path = 'crnn.pth'\n",
    "alphabet = '0123456789abcdefghijklmnopqrstuvwxyz'\n",
    "model = crnn.CRNN(32, 1, 37, 256, 1)\n",
    "print('loading pretrained model from %s' % model_path)\n",
    "model.load_state_dict(torch.load(model_path))\n",
    "converter = utils.strLabelConverter(alphabet)\n",
    "transformer = dataset.resizeNormalize((100, 32))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYF\nBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoK\nCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAuAF8DASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD5w07U\nL6G3d7eGOFm4AVep7V9X6R+z7rd3+zJp+r3GsSR/bvLlnjWTA2kZ6AemK8q/Z5/Zg8bfG7xEsun2\n6W2lWs6tdXksfy8YO1f7x/lX6F+B/hD8P7P4fr8ONUvTNKkPlwqZQrL8oAPtyDVPCTlFuKPCpzez\nPyq8T/Da7/tye4t43mihdsYQ8YJHoeOK6/4E3Wp+D/E0F3NZPPbGdS8JOQVJGeK+tPjF+xxpfwks\nn8QafeLc2E8uJYpzlkJ5Az/EM+vWvbPhB+z74AsP2cI9Um8OW/m3dgZbiTyQHkLKT94cjjGPrXmy\nw051JUZaWVzF0pzl6HkHxm8XfCvxR4Z0q50TT1jvzFmAwJtZW6dATj8fyFb3g3wLqb+EreHTvEki\n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\nU2/c03zKR//Z\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "s-------h--------a-------- => sha                 \n"
     ]
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYF\nBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoK\nCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAApAL8DASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD8ZJba\nBbh2tLiQtvJzIPmx1GQM7e/fFTXNrey6RDqt7GGt0naHzlZWZWIz0DbgCAOcY4PtX0D8NP8Agnn+\n1T4p/ZH1z9uXSPAtkfBOmvMjX10xN1LFGwE88caoyiOIqc7yjgRMyjaQT886hod9Yus4RhDNxE0i\n4Oc/dOejex579KvD4nD4hy9nJPldnbucdajVw6j7SNubYoyyW8rErEAOgyT/AFoEEYy2Qfl6Zq/F\n4T8S3eiP4pg0S7l0yGXyp79LRzDFJx8jPjCt8y/KefmHqKhs9Ju9SvotPskV5J5QkSlgoLEgAZPA\n5I5NdSV1cz54taELtLgCOY5XoD2p7yLKFEkaKSTuKrgdeP8AOK0PEvg7xD4M1T+yPEen/Z7gxJIF\n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\nNSirXOavGSlOLlsz/9k=\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ss-h-a--k-e-ssh--aa-c--k-- => shakeshack          \n"
     ]
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYF\nBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoK\nCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAwAH8DASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9R106\n2hjB8lA3YgDGagniYjMu04PTOKkku1UgtJluoWoL29QgsyksBkpj+VfnTVz7RJjSI5ohGU3uGOcE\nHFVplMDjybd/NHXc+AOfyp6MZPl8llOc4Y7abqEMyxMVmG4jARQaZS10Hxy3UkRWeQ784JVguPYU\n/wAxZN0MfzleGfHeoLNIy+JWVRuP3mOT9KSeIQSeQgPHNAcqJVlWByjRuWUcsoPH5U9bgyIYYsDP\nOT2H86rPIrW3llwwHJz0FRQ6iY2EaEDAwTjge9F0FkaKfI42PkYPHrVlbe3yvm7wx7KazodRdN5u\nPmXd8pVOg+tKNYeNtzKgQHgsT+RqoiasWyGPK5JHYGngOnzMTtPcnk1zPiL4v/DfwGRb+N/HGl6Q\n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\nB49qT0A//9k=\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "s--s---n----a---c---k----- => ssnack              \n"
     ]
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYF\nBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoK\nCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAcAG8DASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD5W0Hw\n5qfiPWrXw7oVm9xf308cFrbqMtJI7bUAHua+qvjd/wAEaf2zfgb8PNT+JeueH9G1XTtIt2nvxoWt\nRzywwqoZpSjBGdVUljtBIUZPGTXnH/BOfwenjb9t34W6JJbtID400+5lBXcGht5vtD9P9iJs+xr7\n+/aO+OX7N37MHxM+Nnxd0v8AaJtfGPxE+IGjzeGtO8AaFbNJDpbYSMtdyBipkjEYwW2su51CnecS\nommp8D/tKfsd6p+zf8I/hh8Sdd8bQ3158R/Ci6ydGisDE2nQuI3i3P5jeYXWUc7VwVIxXjmGZBIz\nZMgJznhumcfmPzr9Tv2vP2SvDv7Qf7SXh/4cfEnxu/hvwF8FfgrpkvjTVraISSWkSedtiiQggPIk\nZIYghViY7WO0Hx34j/sP/sKeKP2O/FP7Wv7NPxD8ZlNO1y00jTtM8TC1hEd8ZofOExWMF1aGaORS\nrDAxnPzAHK3sB8I+RsYKFEZJXLnODnHbPv2ruvgp+zr8XPj38T7P4OfDDwfJfeINTtTc2VnKwhR4\nVRnMpeUqgTapO4kdOCSQD9d/taf8E1v2aP2bJPAXw41P4gePpvEeveJrKw1rU00ANp99aSiLz57O\nRYwFaPe22IvJIxXkYIkP0l+1D8Evhp8cf255NP8ACPxy8ZeFNb+HXwkupdavvDTtZnTba3WBraKK\n4XaW8xL2YyBSBhFGFySTl0QdD8kdc8M6v4P1+68O+JLB7e8sLl4LuCVRvilQkMhwcZDAjr2/OK2s\nZZpg0EJ3M6gFBxKccfTP0NfXHww/Yk/Zk8B/Bnwt8b/27vjl4j8O/wDCwEe48L6F4asXurt7QMP9\nPuHYSBYirK+Nu5hIpDFmKj54+LXh3wD8PvivruhfDTxc/iLw7pWrTrp+teUqrfQROVEyhSQQwXIZ\nTtIG7vipegHqGlf8Es/21tV+Cth8etB+EcuoaFqGhR6vZyWepWstzLaPGsiyG38wSnKMp2Ku/np2\nr58EIido5W3YIxH9089uD6Zr91tO+Hvh3wR+0P8AD6z0X4z6cNe8DfCH+ydE+GP9rLBcaw4gKq0i\ns/MW2MHO0lTEG6Ag/nb8HP2GfBPi7wj4t/aP/bG+J03w98I6b4in0n7HaaZ9ou7zUgzB4IEUNkRs\nNvCMSyuOAjMacdAPkV7h7hUiYbUihKRKAOFyWwD1PLE5OetIbWRwYYThhgn27ivtT4zf8EqvDOnX\nfwm0/wDZs+NDeMB8XLu6OiXF1pf2e2htIxHMLhzuZsJDIGf93kbCAM8DqPDv/BKn9k3x/r/ifwF8\nLv23pdT13wJp9xL4tsh4NYRgxZVmhYyqrorgo5VnGSozzUJNblcx8ENiENmMNhgBkgkZ7ADFLE0N\nuwjd1jzk4kYg/kxr630H/gnp4Di/Yti/ai+LP7QH/COX+r2N3c+FdGbQprq3neGQxpBNKgYRySyY\nCKFbCkttO1wvyw1mUO2F9yKxH3T/AOgn7vbj+dKQ07nZ/wDBPf8AaH+H37Kn7UOg/G/4leHdV1Ow\n0SO7Is9HRJJ5JZbSaBCBLJGm1TKT97I9DmsGH4oWfiD47y/GbxdZ3Mmn3vjGPVdbgt1UzGKW4Ms0\nYDMAWKl+DwG25IHNeaoBkuRk4zk1fsmLR89sYq07EH33Yf8ABTv4D+Lf2lPjFq3xY8DeKE+Hfxe0\nWy05zZiEalYfZoDEkhCSMgz5kx2rIXBVSFbkVhfE/wDbO/YT0v8AZm0P9k34J+AfiBc+HofiPb6x\n4rl1OW1in1q0XKykSxS/JKyBERTGqqEB+UrkfE8Km4X53OMEYHTFOhRY38pVGAgHSnzNbAff/wAT\n/wDgor+yf4f8GfDz4IfBSfxxrHhPRviVpXie/vfF1x582kaZa3UUh0yz812kkCohVVdiNpKiSQEF\nck/8FFPhLcfEz9pP4nyWWtib4l+GY9I8DobaDfb5jlhkNwBMPLXAgbgt0cdRXwwpL3LxdAE3ccZO\ne9WLZVDqAMHeDuBOaOYLI+4LX9pP/gnx+0p8EPhton7WWreM9A1/4W6FFoo07QtPE0XiC1hjREUO\nVYRM6xqWLGNlLPhzww+QLHUfAs/xGiu5rG4tPDUutDzIGPmtBYtN9zliWYRHpklj3JNc49yyRZaN\nW3ZJ3Z7H61NLO2nlhAoPyuDu5zg4B+uO9HMNbn6a/E//AIKB/wDBON/2gl/bU8Gy+OPFnjzTNKNp\n4c0Y6SbLT7ZvIeNZJGkVHC4lkzgvgtkLkAjzP4cftY/su/tG/suz/s+fth/EDWvCepWPjq98RaRr\n2h6BLfJfSXck0s0flQpJtbzLqdQHAXZ5eCcEV8Nl2jgSRCRsxtGTjmrqztFP5SopBXnI65GaOdrY\nH8R+mXgr9r74Q61+1D8EPCf7JXhTxL4r8NfDbwpe2OqW0ekzJfxxywCKVlRwpuZI1SOVymVOSFJL\nAVofATw5+xt8Pvh7+0b8c/2cviZ4h8SXz+D7+G9utX0C5sI9KW7EzraobhEMsjSRLkgYHloD8x5/\nPn4JfHr4j/s2fEaz+L/wr1OK11fSbeWdfPh8yK5XY4aGZcjdGygggEH5sghgpHp3x0/4KL/HH9oL\nwDcfCi88L+D/AAnoOp3qXeuWPgvRGsxq021pA1wzyyM+GjU4BGT1zhcHM+vkOR7x8EP2v/2NvgV+\nybf+CLb40+JvFsuteD5bO++EniTw+91bJrUpYySRzeT5UNvl3yquVZcsA0gZD8D3Yea+ndYX4lYy\nbEG3r0wmBj/dwPw4qaa0jtrOYRs2EyQpPGc1SmncrHMyq244KlBj7uc+tS9XcTdz/9k=\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "p---la-sstiic--b-a--g--s-- => plasticbags         \n"
     ]
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYF\nBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoK\nCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAAbAH8DASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6c/Y9\n+Cf7Jep/sZeK/wBpT4/fDnUddl8N+LEt3j0HUJEYROLHywkfnIrHzJiSXOcbgDgV4T+0pqv7NPiH\nxlZT/sveCfFWiWi2jJqdn4gYGVrkuxJjKSuTldoPIJx35z9Lf8E2fijceAv2GfjB4mtdC07WpdBv\nYtUOmapDvtpcwLuEgIwy4t+2eVGKyv2XvE/w5/4KC/teeHIviL8E/Ceh2nh3w/e3T6Vo1jHDFq8s\nboI0nTGZAm4yFR1ClWBXNQo6GqbPkrSy+nq9zs2BAwlaeMGJFxuwdxwMbWHXn/ZwGOt4g0rVVkeK\n90GSzu7JI5nZ1YlYXQSrKMkkptZHVxlWViRkNX2p8Ffjp4f/AG3fjDrv7L/xr+BPh2xsHsb+bw3d\n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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "f--o--o-d---ss-c-ra--p--s- => foodscraps          \n"
     ]
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYF\nBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoK\nCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAASAC8DASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD4v+H/\nAPwTZ+KfijT9c0f4uQ6f4PifQL/UNM1K2voLp4NStI7W8k02+hgMjWjf2dcTzhN0bj5QdwBWtP8A\nZj/YO0Hxn4n8RfDPTvDUXiPU9D0nTmudWjSZcNdz2wlV45IHZvJieXdHGmWjjkddzR5b0Xw3+3P8\nePFMKan8TPEOm6L4mvbWRtL1LQYHaSPbKCLeVbgzW1kJDBGjwDyHnjiJnO143k+g/wBn34kaJ8BP\nip8PvipezSjxN8SrXRPtqyeN0a6ubrUbjyJIJNK6DTbd/NijniJUeTH5fmRltvzGLniZYdqi9enm\nelSpUpVUquz/AAPinxL8A7XwF4hnsLXStS8MS6bqccGo+HFgkWTzhLsdGhPzw7SrE9l3DIUq27Wf\nwo3jzxu/hzUDpF0JoHW1Bsf3lrI9sA0+7yyAAUBCtz82DkOQv6Z/tffs1fCj9qa2t/HPiX4c2K+N\nrGNIVur/AFo6ampHCeVBdvDHK7SoG+R1Xf8AKkTMyqm35W0Dwp4F+CX7dlt8IvDvhfV7m8hi1vWr\nfUbLUI7lYtIGjXzRxG1kjVWm+zR2k53vIGZIVJXfKg2wlepWwmrtK2z1syIUVhsQuf3op+l0fJPx\nu/Zj+L/xputX1r4L+Ff7ckgsH1C08N6IyTX1rax6quluptoMhp0nUFzgERYlAwM1u/s8fsSfH34i\nQ+CLPxB8L5rf/hIruY2D+dYPd3kjaWLu3EhbcbfzLZLiVFuFTekDMpYsgHo3xI/bP+AHgL4SyaRr\nzeKfiBql3peu2keoXUcOhpqVnrjW8F/GsWyfyHiFusiK4MguRI7oAMvyesft9/tE6lolpf8Awr+G\nOmeDZ/Di2ljo+uRNdzXVtbC3kt4WiWZpLaeb7LAlub5YBM8KyIWVW21snCWGV3otLk4iUvrEpWtd\n3scb8dLKzstTjubO0iiknvYvOkijCtJmzVjuI65YAnPcZr6p+H+oX7f8Ecbz4hNezHX9M0q90/Td\ncMh+2Wlo08itbxTffjiKswKKQpDEY5NFFctH+HE0+wj6Z+AGraqnha305NTuBb2r+HLe2gEzbIop\nNG0WSSNVzhVZ5JGZRwWdieWNeVXLNN/wUCvxMxcHw54rjIY5+SPQLlUX6KAAB0AHFFFcn/L+fodk\nfgh6nzF8VkR/iElg6Awf2nCvkEfJtAt8DHTHJ/M+tcZ8DdU1MzJYnUZ/IEEqCHzm2BUuJtoxnGBk\n4HbJx1oooh/unzRlX/jv1P/Z\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "e--x--e-r--e--g--a--t--e-- => exeregate           \n"
     ]
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYF\nBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoK\nCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAA0AH8DASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9W74i\nG7M0kqsGA2YjxjtimMiqoR5FwOAdvNI02YTEZ1lbcRjOMGq/+lI+1kBB6hu34ivheZH1XKyz5kwQ\nkNtwRhQMnHSlkuHCmNoyxz83y4/nUUEoiwzLjnB7ge/NJNJtyOoJwDjr+FDdx20Jg4wk5nbKrkrn\nO49OakjZTH8rbQwORuxiqEXmt8rRkH19aie6nWUpLGQqnk4yD71DlYuMG0Wri1gWQOH+XaOQtNF2\nikMMdME5quL+dy6IwK9229BUW9FBLRE8dAcZ/Ss3NMtU3uW11NkQCEIcAlhjnd6fWoDfNdRM8cGB\nnjd1/Wq7TRiSR1BwTlBnG3j1pJ3aeNZNwXH3lVs5Hp14qW7mnKTXMMjRZkvccZxiq+1GRQABjgkE\n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\n/9k=\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "s----p----a---k---e----s-- => spakes              \n"
     ]
    }
   ],
   "source": [
    "for img_path in glob.glob('boxes/*.jpg'):\n",
    "    image = Image.open(img_path).convert('L')\n",
    "    image = transformer(image)\n",
    "    image = image.view(1, *image.size())\n",
    "    image = Variable(image)\n",
    "    model.eval()\n",
    "    preds = model(image)\n",
    "    _, preds = preds.max(2)\n",
    "    preds = preds.squeeze(2)\n",
    "    preds = preds.transpose(1, 0).contiguous().view(-1)\n",
    "    preds_size = Variable(torch.IntTensor([preds.size(0)]))\n",
    "    raw_pred = converter.decode(preds.data, preds_size.data, raw=True)\n",
    "    sim_pred = converter.decode(preds.data, preds_size.data, raw=False)\n",
    "    display.display(display.Image(img_path))\n",
    "    print('%-20s => %-20s' % (raw_pred, sim_pred))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
